package thread;

import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 刘远望
 * Date: 2025-05-27
 * Time: 18:27
 */
//生产消费者模型(也是一种设计模式)
//阻塞队列
public class Demo28 {
    public static void main(String[] args) throws InterruptedException {
        BlockingDeque<String> queue = new LinkedBlockingDeque<>();//阻塞队列(天然线程安全)

        queue.put("abcd");//放元素put 也可以用普通队列的offer 但是没有阻塞功能
        //这里的阻塞是队列满的时候就在这里阻塞

        String elem = queue.take();//出元素take 也可以用poll 也是没有阻塞功能
        //这里的阻塞是队列为空的时候阻塞

        System.out.println(elem);
    }
}
